A filesystem defines the methodology by which files of user data are stored on and retrieved from storage devices like hard disk drives. The user data of a file system is the actual data that users may create and/or access. A file system also includes metadata relating to this user data. The metadata includes data regarding the user data that is not part of the user data itself. For instance, the metadata may include the filenames of the files encompassing the user data, the sizes of these files, and read/write attributes of these files. A filesystem thus can be considered as defining the directory structure for tracking these files and the path syntax needed to access them.
The metadata of a filesystem can become corrupt for a number of different reasons. The filesystem itself may be relatively immature, such that it has not been developed properly, resulting in eventual corruption of the metadata. Rogue computer programs may corrupt the metadata of a filesystem. A user may somehow corrupt the metadata of a filesystem as well. In these and other situations, while the metadata becomes corrupt, the user data itself may remain uncorrupted, although the user data may not be able to be properly accessed because the metadata is corrupt.
Traditionally, repairing the metadata of a filesystem has involved a technician directly accessing the system of which the filesystem is a part, and repairing the metadata directly at this system using, for instance, a metadata checking utility. However, this approach is problematic for at least three reasons. First, the system may be a production system that is currently being used in a way that prevents the metadata from being repaired without taking the system offline for a lengthy period of time. Second, security policies regarding the user data stored within the filesystem of this system may prohibit access of the user data by unauthorized personnel, which may include the technician that is supposed to repair the metadata. Third, the metadata checking utility may not currently be able to correct the corruption within the metadata.
Furthermore, simply repairing the metadata of the filesystem so that the metadata is no longer corrupt may not prevent the metadata becoming corrupt in the future. For example, there may be an underlying problem with the filesystem itself that may cause the metadata to become corrupt again. For these and other reasons, there is a need for the present disclosure.